2012年当時のWindows2008R2環境をNITRO世代のインスタンスに変更してみた
はじめに
AWSチームのすずきです。
最新NITRO世代のインスタンス、古いWindows用AMIで利用するための手順がAWSドキュメントとして公開されています。
より新しいバージョンの Windows に Amazon EC2 Windows Server インスタンスをアップグレードする » 最新世代のインスタンスタイプへの移行
今回、2012年にシステムバックアップとして作成、残されていたWindows Server 2008 R2 Datacenter のAMIを利用して、Nitro世代のM5、Z1dへの変更を試す機会がありましたので紹介させていただきます。
OSとしてLinuxをお使いの場合、次の過去記事を参照ください。
- Amazon Linux
NITRO世代(C5、M5)へのEC2インスタンスタイプ変更を試してみた(Amazon Linux編) #reinvent
- Redhat 6
環境情報
インスタンス
- AMI: Windows Server 2008 R2 Datacenter (2012年作成)
- インスタンスタイプ: m4.large
システムログの出力情報
- OS: Microsoft Windows NT 6.1.7601
- OsVersion: 6.1
- OsProductName: Windows Server 2008 R2 Datacenter
- OsBuildLabEx: 7601.17944.amd64fre.win7sp1_gdr.120830-0333
- Language: ja-JP
- EC2 Agent: Ec2Config service v3.9.359
PVドライバー
- RedHat: 1.3.10.0 (2011/08/05)
PowerShell
- PSVersion: 2.0
事前準備
- ドライバーやインストーラが依存するランタイムなどについて、事前更新を行いました。
- WindowsUpdateは、ドライバーをS3からHTTPSでダウンロードするために実施しています。2012年当時のWindowsのルート証明書、現在のS3で利用されているAmazon発行のサーバ証明書に未対応でした。
WindowsUpdate
- 重要な更新をすべて実施しました。
- 更新数は約110、所要時間は5時間程度でした。
Windows Management Framework(WMF) 3.0
- ドライバのインストーラがPowerShell3.0を必要としました
- Windows Management Framework 3.0
- Windows6.1-KB2506143-x64.msu
.NET Framework 4.5
更新作業
- AWSドキュメントに準じ、NITRO対応設定を行いました。
より新しいバージョンの Windows に Amazon EC2 Windows Server インスタンスをアップグレードする » 最新世代のインスタンスタイプへの移行
EC2Config更新
PV ドライバー更新
- NITRO世代に対応する、最新AWS PVドライバーをインストールします。
- 古いRedhatPVドライバーは、AWS PVへのアップグレードができないため、一旦Citrix PVドライバーへの更新を行います。
- ドライバー更新後、複数回のOS再起動が発生します。通常のOSのみの再起動と比較して、少し長めの時間を要する場合もあるのでご注意ください。
Redhat → Citrix PV
Citrix PV → AWS PV
ENA ドライバー インストール
- 最新ENAドライバーAwsEnaNetworkDriver.zip
-
インストーラーを展開したディレクトリに移動(cd)し、インストールスクリプトを実行します
- PowerShellスクリプトの実行ポリシーは解除「Unrestricted」しています。PowerShellスクリプトの実行制限が望ましい環境の場合「Restricted」などに書き戻しください。
cd C:\Installer\AwsEnaNetworkDriver PS C:\Users\Administrator> Set-ExecutionPolicy Unrestricted PS C:\Users\Administrator> cd C:\temp\AwsEnaNetworkDriver PS C:\temp\AwsEnaNetworkDriver> .\install.ps1
NVMe ドライバーインストール
- 最新NVMeドライバーAWSNVMe.zip
PS C:\Users\Administrator> Set-ExecutionPolicy Unrestricted PS C:\Users\Administrator> cd C:\temp\AWSNVMe PS C:\temp\AWSNVMe> .\install.ps1
拡張ネットワーキングの有効化
- 最新ENAドライバーインストール後、EC2インスタンスのOSを停止します
- PowerUser権限を持つAmazonLinux環境から「awscli」を利用して拡張ネットワーキングを有効化しました。
Windows インスタンスにおける Elastic Network Adapter (ENA) を使用した拡張ネットワーキングの有効化
ID='i-00000000000000000' aws ec2 describe-instances --instance-ids ${ID} --query "Reservations[].Instances[].EnaSupport" aws ec2 modify-instance-attribute --instance-id ${ID} --ena-support aws ec2 describe-instances --instance-ids ${ID} --query "Reservations[].Instances[].EnaSupport"
インスタンスタイプ変更
- OS停止状態で、AWSコンソールを利用してインスタンスタイプを「m4.large」→「m5.large」に変更しました。
性能比較
- CrystalMark 2004R7を利用して、ベンチマークを取得してみました。
- 測定設定はデフォルト、測定は1回のみの測定で比較しました
インスタンスタイプ | ALU | FPU | MEM | HDD |
---|---|---|---|---|
m4.large | 18723 | 15059 | 30355 | 13279 |
m5.large | 22476 | 18353 | 37121 | 29954 |
z1d.large | 32238 | 24460 | 49549 | 30249 |
m4.large
m5.large
z1d.large
まとめ
6年前のWindows2008R2環境、NITRO世代のインスタンスで利用する事ができ、簡易測定の範囲でも、CPU、IO性能などが向上が確認できました。
ただし、OSドライバーの更新などに問題が発生した場合には、EC2インスタンスの起動不良や、リモート接続が不能な状態が発生する恐れがあります。 本番稼働中のシステムをNITRO化される場合には、AMIから起動した検証用のインスタンスでの十分な事前検証と、 可能であれば上位AWSサポート契約など用意される事をお勧めします。
また、2018年8月以降にAWSからリリースされたWindows用のAMIであれば、デフォルトでNITRO世代のインスタンスタイプに対応しています。OSのクリアインストール、データ移行が可能なシステムについては、最新AMIを利用した新環境の構築と切替による移行を検討頂ければと思います。